<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="box">
        <p>我是段落</p>
        <p id="para">我是段落</p>
        <p>我是段落</p>
    </div>
    <table id="mytable"></table>
    <script>
        var box = document.getElementById('box')
        var para = document.getElementById('para')

        // 封装一个函数这个函数可以返回元素所有的子元素节点（兼容到IE6）类似chindren的功能
        function getChildren(node) {
            var children = [];
            // 遍历node节点的所有子节点判断每个子节点的nodeType是不是等于1
            // 如果是1就推入到结果数组中
            for (var i = 0; i < node.childNodes.length; i++) {
                if (node.childNodes[i].nodeType == 1) {
                    children.push(node.childNodes[i])
                }
            }
            return children;
        }

        // 封装一个函数这个函数可以返回元素前一个兄弟节点 （兼容到IE6）类似chindren的功能
        function getElementPreSibling(node) {
            var o = node;
            // 使用while语句
            while (o.previousSibling != null) {
                if (o.previousSibling.nodeType == 1) {
                    // 结束循环，找到了
                    return o.previousSibling;
                }
                // 没找到就让o成为它的前一个节点
                o = o.previousSibling;
            }
            return null;
        }
        // 封装一个函数这个函数可以返回元素是的所有兄弟节点
        function getAllElementSibling(node) {
            // 前面所有兄弟节点
            var prevs = [];
            // 后米娜所有的元素兄弟节点
            var nexts = [];
            var o = node;
            // 遍历前面节点
            while (o.previousSibling != null) {
                if (o.previousSibling.nodeType == 1) {
                    // 结束循环，找到了
                    prevs.unshift(o.previousSibling)
                }
                // 没找到就让o成为它的前一个节点
                o = o.previousSibling;
            }
            // 遍历后面节点
            while (o.nextSibling != null) {
                if (o.nextSibling.nodeType == 1) {
                    // 结束循环，找到了
                    nexts.push(o.nextSibling)
                }
                // 没找到就让o成为它的后一个节点
                o = o.nextSibling;
            }
            // 两个数组合并
            return prevs.concat(nexts)
        }
        // 创建九九乘法表
        var mytable = document.getElementById('mytable');
        for (var i = 1; i <= 9; i++) {
            var tr = document.createElement('tr');
            for (var j = 1; j <= i; j++) {
                var td = document.createElement('td');
                td.innerText = i + '*' + j + '=' + i * j
                tr.appendChild(td);
            }
            // 让mytable追加tr标签
            mytable.appendChild(tr);
        }
    </script>
</body>

</html>